package homework01;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/*
* 2.递归实现列出当前工程下所有.java文件*/
public class Diguii02 {
    public static void main(String[] args) {
        File file=new File("C:\\ImportantSoftForCode") ;
        read(file);
    }

    private static File read(File file) {
        List<File> list=new ArrayList<File>();
        File[] files=file.listFiles();
        //遍历文件夹中所有文件（包括子文件夹中的文件时，用listFiles（）方法）
        if(files!=null){
            for (File file1:files){
                if (file.exists()){
                    //此路径名表示的文件或目录存在时，将目录添加进集合
                    list.add(read(file1));
                        //遍历目录集合
                    for (File list1:list){
                        if (list.toString().endsWith(".java")){
                            //如果是包含”.java“文件，则输出该路径
                            System.out.println(list1);
                        }
                    }
                    }else {
                    list.add(file1);
                    //将文件添加进集合
                    for (File lf:list){
                        //遍历文件，如果文件后缀名为”.java“则输出文件所在路径
                        if (lf.toString().endsWith(".java")){
                            System.out.println(lf);
                        }
                    }
                }
            }
        }return file;
    }
}
